package com.rr.mymoney.bo;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.rr.mymoney.model.MonthBudget;

@Transactional
public interface MonthBudgetBo {
    @Transactional
    public void saveOrUpdate(MonthBudget monthBudget);

    @Transactional(readOnly = true)
    public MonthBudget get(Long id);

    @Transactional
    public void delete(MonthBudget monthBudget);

    @Transactional(readOnly = true)
    public List<MonthBudget> getByUserId(Long userId);

    @Transactional(readOnly = true)
    public List<MonthBudget> getGenericBudget(Long userId);

    @Transactional(readOnly = true)
    public List<MonthBudget> getGenericMonthlyBugdet(Long userId, int month);

    @Transactional(readOnly = true)
    public List<MonthBudget> getSpecificMonthlyBugdet(Long userId, int month, int year);
}
